home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
qbfaqr01.zip
/
ENCRYPT.BAS
< prev
next >
Wrap
BASIC Source File
|
1992-08-09
|
1KB
|
47 lines
'Here's a piece of code that someone translated from C into QuickBAsic
'from Dr. Dobb's Journal. I apologize for not crediting who did this fine
'work, but I do not recall who posted it. I found it useful and am
'willing to replicate the code. It goes like this :
DECLARE SUB Crypt (Buffer$, Key$, Start%)
DEFINT A-Z
CStr$ = "This is the string I want to encrypt."
Key1$ = "This is my key."
Key$ = Key1$
PRINT "{"; CStr$; "}"
PRINT "{"; Key$; "}"
CALL Crypt(CStr$, Key$, 10)
PRINT "{"; CStr$; "}"
PRINT "{"; Key$; "}"
Key$ = Key1$
CALL Crypt(CStr$, Key$, 10)
PRINT "{"; CStr$; "}"
PRINT "{"; Key$; "}"
SUB Crypt (Buffer$, Key$, Start)
BufLen = LEN(Buffer$)
KeyLen = LEN(Key$)
IF Start = 0 OR Start > KeyLen THEN
Start = 1
END IF
FOR I = 1 TO BufLen
MID$(Buffer$, I, 1) = CHR$(ASC(MID$(Buffer$, I, 1)) XOR
(ASC(MID$(Key$, Start, 1)) XOR (ASC(MID$(Key$, 1, 1)) * Start)) AND
&HFF)
IF Start < KeyLen THEN
MID$(Key$, Start, 1) = CHR$((ASC(MID$(Key$, Start, 1)) +
ASC(MID$(Key$, Start + 1, 1))) AND &HFF)
Start = Start + 1
ELSE
MID$(Key$, Start, 1) = CHR$((ASC(MID$(Key$, Start, 1)) +
ASC(MID$(Key$, 1, 1))) AND &HFF)
Start = 1
END IF
NEXT
END SUB